home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Netware Super Library
/
Netware Super Library.iso
/
nov_info
/
nw386
/
strem-11.386
< prev
next >
Wrap
Text File
|
1989-07-24
|
6KB
|
106 lines
Chapter 11
Streams Interface
Streams is a set of tools consisting of system calls,
kernel resources, and kernel utility routines. These
tools are used to create, use, or dismantle a stream--a
full-duplex processing and data transfer path between the
driver on the low kernel end of the NetWare OS and the
user application on the high end. (The NetWare
implementation of Streams was developed from AT&T's
STREAMS, available on UNIX System V. For more detailed
information on STREAMS, refer to the AT&T STREAMS Primer
and the STREAMS Programmers Guide.)
A stream defines the interface for character I/O within
the kernel and between the kernel and the rest of the
operating system. It is made up of three basic parts:
■ The Stream head that interfaces with user
applications
■ Modules (optional) used to process data traveling
between the Stream head and the Stream end
■ The Stream end or driver providing an external
interface by means of a character I/O device
The Transport Level Interface (TLI) is an application
programming interface that sits between the streams and
user applications, allowing interface with transport
level protocols such as SPX.
NetWare 386 implements Streams as a number of NetWare
Loadable Modules (NLMs). One NLM includes the STREAMS
application interface routines, the utility routines for
STREAMS modules, the log device, and a driver for the
Open Data-Link Interface. The utility routines in the
NLM include all common functions used by STREAMS modules.
Other, NLMs include a number of Streams modules to
provide communication protocols such as IPX/SPX or
TCP/IP. The graphic on the next page illustrates a
NetWare 386 server with Streams support.
┌────────────────────────────────┐
NetWare Operating System │ NetWare OS Routines │
└────────────────────────────────┘
┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
│ │ │ │ │ │ │ │
│ N │ │ A │ │ N │ │ S │
Service Protocol Stacks │ C │ │ F │ │ F │ │ M │
│ P │ │ P │ │ S │ │ B │
│ │ │ │ │ │ │ │
└─────┘ └─────┘ └─────┘ └─────┘
Transport Layer Interface ┌────────────────────────────────┐
┌─┤ Stream Head Interface ├─┐ ■─┐
│▒└────────────────────────────────┘▒│ │
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│ │
│▒┌────────┐▒▒┌────────┐▒▒┌────────┐▒│ │
│▒│ │▒▒│ │▒▒│ │▒│ │
│▒│ │▒▒│ │▒▒│ │▒│ │
│▒│ │▒▒│ │▒▒│ │▒│ │
Communication Protocol Stacks │▒│ IPX │▒▒│ Apple │▒▒│ TCP/IP │▒│ │
Streams │▒│ │▒▒│ Talk │▒▒│ │▒│ │
│▒│ │▒▒│ │▒▒│ │▒│ │
│▒│ │▒▒│ │▒▒│ │▒│ │
│▒└────────┘▒▒└────────┘▒▒└────────┘▒│ │
│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│ │
│▒┌────────────────────────────────┐▒│ │
└─┤ Streams to LSL ├─┘ ■─┘
└────────────────────────────────┘
┌────────────────────────────────┐
│ Link Support Layer (LSL) │
└────────────────────────────────┘
┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
│ │ │ │ │ │ │ │
│ T │ │ E │ │ R │ │ │
Multiple Link Interface Drivers │ o │ │ t │ │ X │ │ │
│ k │ │ h │ │ N │ │ │
(MLIDs) │ e │ │ e │ │ E │ │ │
│ n │ │ r │ │ T │ │ │
│ │ │ │ │ │ │ │
└─────┘ └─────┘ └─────┘ └─────┘
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│┌────────┴┐ │┌────────┴┐ │┌────────┴┐ │┌────────┴┐
Multiple LAN Adapters └┤ │ └┤┌────────┴┐ └┤┌────────┴┐ └┤┌────────┴┐
└─────────┘ └┤┌────────┴┐ └┤┌────────┴┐ └┤┌────────┴┐
└┤ │ └┤ │ └┤ │
└─────────┘ └─────────┘ └─────────┘
NetWare 386 STREAMS Interface